#   ANFFT is an FFT package for Python, using FFTW.
#   Copyright 2010 Andrew Collette.
#
#   This program is free software: you can redistribute it and/or modify
#   it under the terms of the GNU General Public License as published by
#   the Free Software Foundation, either version 3 of the License, or
#   (at your option) any later version.
#
#   This program is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#   GNU General Public License for more details.
#
#   You should have received a copy of the GNU General Public License
#   along with this program.  If not, see <http://www.gnu.org/licenses/>.

#!/usr/bin/env python

from distutils.core import setup

short_desc = "A fast FFT package for Python, based on FFTW"

long_desc = \
"""
ANFFT is an FFT package for Python, based on FFTW.  It provides a
multi-threaded, self-tuning FFT interface via high-level functions
similar to the "fft" and "fftn" routines found in NumPy and SciPy.

ANFFT is intended to be used in situations where large numbers of expensive
FFTs are required, for which the built-in NumPy or SciPy FFTs are not
acceptable. By default, ANFFT provides immediate results by using
FFTW's "estimate" mode, which does not require tuning.  However, each
high-level function provides a keyword named "measure" which will invoke the
full FFTW planning machinery.  Plans for a given shape and type of array
are cached for the length of a Python session, and accummulated FFTW "wisdom"
is stored across Python sessions in a dotfile.  You don't need to know anything
about FFTW internals to use ANFFT.
"""

cls_txt = \
"""
Development Status :: 4 - Beta
Intended Audience :: Developers
Intended Audience :: Information Technology
Intended Audience :: Science/Research
License :: OSI Approved :: GNU General Public License (GPL)
Programming Language :: Python
Topic :: Scientific/Engineering
Topic :: Software Development :: Libraries :: Python Modules
Operating System :: Unix
Operating System :: POSIX :: Linux
Operating System :: Microsoft :: Windows
"""

setup(
  name = 'anfft',
  version = '0.2',
  description = short_desc,
  long_description = long_desc,
  classifiers = [x for x in cls_txt.split("\n") if x],
  author = 'Andrew Collette',
  author_email = 'andrew dot collette at gmail dot com',
  url = 'http://anfft.googlecode.com',
  packages = ['anfft'],
  package_data = {'anfft': ['*.dll']},
  requires = ['numpy (>=1.0.1)']
)








